Chapter 2: Exercises

選擇題


簡答題

  1. 請問在用戶端的 JavaScript 中,for-in loop 的功能為何?請舉一個實際的範例。
  2. 請寫一段用戶端的 JavaScript,達成下列功能:
    1. 建立一個使用者自訂的物件 student,具有三個性質 name、age、phone,對應的值分別是 "Timmy"、25、"575-1114"。
    2. 使用 for-in loop 來印出這個物件的所有性質以及對應的值。

程式題

請使用本章所學到的 JavaScript 程式技巧來完成下列作業:
  1. (*) 檢查整數: 請寫一個網頁,包含一個連結「檢查整數」,具有下列功能:
    • 當你按下此連結時,會跳出一個提示視窗,要求你輸入一個正整數。
    • 按下確定後,會再跳出一個警告視窗,告訴你輸入的數字是否真的是是正整數。
    (提示:可用 JavaScript 的函數 parseInt(),其功能為吃一個字串,傳回一個轉換出來的整數。)
  2. (*) 檢查奇數或偶數: 請寫一個網頁,包含一個連結「檢查奇數或偶數」,具有下列功能:
    • 當你按下此連結時,會跳出一個提示視窗,要求你輸入一個整數。
    • 按下確定後,會再跳出一個警告視窗,告訴你輸入的數字是奇數還是偶數,或根本不是一個有效的數值。
    (提示:可用 JavaScript 的函數 parseInt(),其功能為吃一個字串,傳回一個轉換出來的整數。)
    Write a web page with a single link "Check if a given number is even or odd", with the following behavior:
    • When you click the link, a prompt window shows up where you can enter an integer.
    • When you hit "Yes" button, another alert window shows up to tell you the given number is even or odd, or not a valid input.
    (hint: You can use the JavaScript function parseInt() to convert a given string into a number.)
  3. (*) 體重檢查: 請寫一個網頁,包含一個連結「體重檢查」,具有下列功能:
    • 當你按下此連結時,會連續跳出兩個提示視窗,分別要求你輸入身高(公分)和體重(公斤)。
    • 此程式會先計算標準體重(身高減掉 110),再比較標準體重和實際體重,根據情況回傳下列三類訊息之一於一個警告視窗:
      • 您的標準體重是 xx,實際體重是 yy,您已經超重 zz 公斤了!
      • 您的標準體重是 xx,實際體重是 yy,您可以再增胖 zz 公斤喔!
      • 您的標準體重是 xx,實際體重是 yy,您真是標準魔鬼身材啊!
  4. (*) 產生數值列表: 請寫一個網頁,利用 JavaScript 產生下列的數值列表:
    xx^2x^3x^4
  5. (*) 產生九九乘法表: 請寫一個網頁,利用 JavaScript 的迴圈控制來產生九九乘法表。
  6. (*) 產生費氏數列列表: 請寫一個網頁,利用 JavaScript 的迴圈控制來產生費氏數列 f(n),其遞迴關係式如下:
    f(n+2) = f(n+1) + f(n), n>=0
    其中 f(0)=1, f(1)=1。產生的列表可列出 f(0) 到 f(30) 的值,範例如下:
    nf(n)
    01
    11
    22
    33
    45
    58
    .
    .
    .
    .
    .
    .
  7. (**) 列出表單和表單控制項的所有性質: 以下是一個簡單的表單:
    The following is a simple form:
    Name:
    請寫一個網頁,除了包含此表單外,同時使用 for-in loop,在表單下方列出下列性質:
    • 此表單的所有性質。
    • 此表單之控制項 myname(文字欄位)的所有性質。
    (提示:如果一個文件只有包含一個表單,那麼此表單物件可用 document.forms[0] 來表示。)
    Please write another web page which not only shows this form, but also lists the following properties:
    • All the properties of this form.
    • All the properties of the control (named "myname") of the form.
    (Hint: If a document has only one form, the the form object can be represented by document.forms[0].)

JavaScript 程式設計與應用:用於網頁用戶端